/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.giant.services.authentication;

import com.giant.authentication.User;
import com.giant.entities.pos.PPos;
import com.giant.exceptions.AutenticacionException;
import com.giant.exceptions.OperacionInvalidaException;
import java.util.List;
import java.util.Map;
import javax.ejb.Local;

/**
 *
 * @author taticay
 */
@Local
public interface ServiceUserLocal {

    /**
     * Agrega un vendedor al sistema
     *
     * @param vendedor Nuevo vendedor
     * @throws OperacionInvalidaException Excepción lanzada en caso de error
     * operacional
     */
    public void agregarUser(User user) throws OperacionInvalidaException;

    /**
     * Elimina un vendedor del sistema
     *
     * @param id Número de identificación único del cliente
     * @throws OperacionInvalidaException Excepción lanzada en caso de error
     * operacional
     */
    public void eliminarUser(long id) throws OperacionInvalidaException;

    /**
     * Devuelve todos los vendedores del sistema
     *
     * @return vendedores Vendedores del sistema
     */
    public List<User> getUser();

    public List<User> getUserFilter(String a, Map<String, String> map);

    public User ingresar(String userName, String password) throws AutenticacionException;

    public boolean changePassword(String username, String oldPassword, String newPassword) throws Exception;
    
    public PPos getUserPos(User user);
}
